namespace SADev.Gallery2.Protocol
{
    using System;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.Diagnostics;
    using System.Globalization;

    /// <summary>
    /// Defines the G2 status messages
    /// </summary>
    public enum Status
    {
        /// <summary>
        /// The command the client sent in the request completed successfully. The data (if any) in the response should be considered valid.  
        /// </summary>
        GR_STAT_SUCCESS = 0,

        /// <summary>
        /// The protocol major version the client is using is not supported.
        /// </summary>
        PROTO_MAJ_VER_INVAL = 101,

        /// <summary>
        /// The protocol minor version the client is using is not supported. 
        /// </summary>
        PROTO_MIN_VER_INVAL = 102,

        /// <summary>
        /// The format of the protocol version string the client sent in the request is invalid.
        /// </summary>
        PROTO_VER_FMT_INVAL = 103,

        /// <summary>
        ///  The request did not contain the required protocol_version key.
        /// </summary>
        PROTO_VER_MISSING = 104,

        /// <summary>
        /// The password and/or username the client send in the request is invalid.  
        /// </summary>
        PASSWD_WRONG = 201,

        /// <summary>
        /// The client used the login command in the request but failed to include either the username or password (or both) in the request.  
        /// </summary>
        LOGIN_MISSING = 202,

        /// <summary>
        /// The value of the cmd key is not valid.
        /// </summary>
        UNKNOWN_CMD = 301,

        /// <summary>
        /// The user does not have permission to add an item to the gallery. 
        /// </summary>
        NO_ADD_PERMISSION = 401,

        /// <summary>
        /// No filename was specified.
        /// </summary>
        NO_FILENAME = 402,

        /// <summary>
        /// The file was received, but could not be processed or added to the album. 
        /// </summary>
        UPLOAD_PHOTO_FAIL = 403,

        /// <summary>
        /// No write permission to destination album.  
        /// </summary>
        NO_WRITE_PERMISSION = 404,

        /// <summary>
        /// No view permission for this image.
        /// </summary>
        NO_VIEW_PERMISSION = 405,

        /// <summary>
        /// A new album could not be created because the user does not have permission to do so.  
        /// </summary>
        NO_CREATE_ALBUM_PERMISSION = 501,

        /// <summary>
        /// A new album could not be created, for a different reason (name conflict).
        /// </summary>
        CREATE_ALBUM_FAILED = 502,

        /// <summary>
        /// The album could not be moved.  
        /// </summary>
        MOVE_ALBUM_FAILED = 503,

        /// <summary>
        /// The image could not be rotated 
        /// </summary>
        ROTATE_IMAGE_FAILED = 504
    }
}
